package br.com.sigupper.entidades;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import br.com.sigupper.util.IGenericCrud;

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@Table(name="conta")
public abstract class Conta implements IGenericCrud{
	
	@Id
	@GeneratedValue
	@Column(name="conta_id")
	private Integer contaId;
	
	@Column(name="conta_descricao",nullable=false,length=150)
	private String contaDescricao;
	
	@Column(name="conta_contato",length=100)
	private String contaContato;
	
	@Column(name="data_vencimento",nullable=false)
	private Date dataVencimento;
	
	@ManyToOne
	@JoinColumn(name="usuario_id",nullable=false)
	private Usuario usuario;
	
	@ManyToOne
	@JoinColumn(name="conta_status",nullable=false)
	private ContaStatus contaStatus;
	
	public Conta() {
		// TODO Auto-generated constructor stub
	}

	public Integer getContaId() {
		return contaId;
	}

	public void setContaId(Integer contaId) {
		this.contaId = contaId;
	}

	public String getContaDescricao() {
		return contaDescricao;
	}

	public void setContaDescricao(String contaDescricao) {
		this.contaDescricao = contaDescricao;
	}

	public String getContaContato() {
		return contaContato;
	}

	public void setContaContato(String contaContato) {
		this.contaContato = contaContato;
	}

	public Date getDataVencimento() {
		return dataVencimento;
	}

	public void setDataVencimento(Date dataVencimento) {
		this.dataVencimento = dataVencimento;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public ContaStatus getContaStatus() {
		return contaStatus;
	}

	public void setContaStatus(ContaStatus contaStatus) {
		this.contaStatus = contaStatus;
	}
	
	
}
